subroutine hitung_soal2_rekayasa_dif(metode,h,x)
!metode 1-5
	implicit none
	integer*2 metode
	double precision x,h
	double precision soal2Rdz, soal2Rdy
	external soal2Rdz, soal2Rdy
	external runge_kutta_param3,runge_kutta_param4
	external adamsmuolton_param3,y_Heun_param3,y_Euler_param3
	double precision x0,y0,z0
	double precision y_hasil, z_hasil
	!h = 0.5
	x0 = 0
	y0 = 1
	z0 = 0
	select case (metode)
		case (1)
			print*,"Metode Euler"
			call y_Euler_param3(x0,y0,z0,x,h,soal2Rdy,soal2Rdz,y_hasil,z_hasil)			
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
		case (2)
			print*,"Metode Heun"
			call y_Heun_param3(x0,y0,z0,x,h,soal2Rdy,soal2Rdz,y_hasil,z_hasil)
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
		case (3)
			print*,"Metode Runge Kutta Orde 3"
			call runge_kutta_param3(x0,y0,z0,x,h,soal2Rdy,soal2Rdz,y_hasil,z_hasil)
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
		case (4)
			print*,"Metode Runge Kutta Orde 4"
			call runge_kutta_param4(x0,y0,z0,x,h,soal2Rdy,soal2Rdz,y_hasil,z_hasil)
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
		case (5)
			print*,"Metode Adams Bashforth Muolton"
			call adamsmuolton_param3(x0,y0,z0,x,h,soal2Rdy,soal2Rdz,y_hasil,z_hasil)
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
	end select

end

subroutine hitung_soal3_rekayasa_dif(metode,x)
	implicit none
	integer*2 metode
	double precision x,h
	double precision soal3Rdz, soal3Rdy
	external soal3Rdz, soal3Rdy
	external runge_kutta_param3,runge_kutta_param4
	external adamsmuolton_param3,y_Heun_param3,y_Euler_param3
	double precision x0,y0,z0
	double precision y_hasil, z_hasil
	
	h = 0.002
	x0 = 0
	y0 = 0.889
	z0 = 0
	select case (metode)
		case (1)
			print*,"Metode Euler"
			call y_Euler_param3(x0,y0,z0,x,h,soal3Rdy,soal3Rdz,y_hasil,z_hasil)			
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
		case (2)
			print*,"Metode Heun"
			call y_Heun_param3(x0,y0,z0,x,h,soal3Rdy,soal3Rdz,y_hasil,z_hasil)
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
		case (3)
			print*,"Metode Runge Kutta Orde 3"
			call runge_kutta_param3(x0,y0,z0,x,h,soal3Rdy,soal3Rdz,y_hasil,z_hasil)
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
		case (4)
			print*,"Metode Runge Kutta Orde 4"
			call runge_kutta_param4(x0,y0,z0,x,h,soal3Rdy,soal3Rdz,y_hasil,z_hasil)
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
		case (5)
			print*,"Metode Adams Bashforth Muolton"
			call adamsmuolton_param3(x0,y0,z0,x,h,soal3Rdy,soal3Rdz,y_hasil,z_hasil)
			print*,"Untuk x = ",x
			print*,"Nilai y = ",y_hasil
			print*,"Nilai z = ",z_hasil
	end select
end

